home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
scheme
/
boxer
/
boxer.lha
/
boxsys.lisp
< prev
next >
Wrap
Text File
|
1993-07-17
|
6KB
|
174 lines
;; -*- Mode:LISP; Package:(BOXER GLOBAL 1000); Base:10.; fonts:cptfont, cptfontb -*-
#|
1Copyright 1982, 1983, 1984, 1985 Massachusetts Institute of Technology0
Permission to use, copy, modify, distribute, and sell this software
and its documentation for any purpose is hereby granted without fee,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the name of M.I.T. not be used in
advertising or publicity pertaining to distribution of the software
without specific, written prior permission. M.I.T. makes no
representations about the suitability of this software for any
purpose. It is provided "as is" without express or implied warranty.
This file contains the system declaration, and various other random
1BOXER0 1System0 hacking utilities.
|#
(EVAL-WHEN (LOAD)
(LET ((ERROR-OUTPUT 'SI:NULL-STREAM))
(GLOBALIZE "RECOMPILE-BOXER")
(GLOBALIZE "LOAD-BOXER")
(GLOBALIZE "MAKE-BOXER")
(GLOBALIZE "START-BOXER")
(GLOBALIZE "BOXER")
(GLOBALIZE "INIT-FILE-BOXER")
(GLOBALIZE "INIT-FILE-EVAL")
(GLOBALIZE "INITIALIZE-BOXER-FROM-LISP"))
)
(DEFSYSTEM BOXER
(:NAME "Boxer")
(:PATHNAME-DEFAULT "BOXER:BOXER;")
(:PATCHABLE ":BOX-PATCH;")
(:BUG-REPORTS "Boxer" "Report Problems about the Boxer system")
(:MODULE DEFINITIONS ("BOXDEF"
"ERROR"
"DRAW"
"DISDEF"
"EVDEFS"))
(:MODULE UTILITIES "UTIL")
(:MODULE RELATIONSHIPS "INFSUP")
(:MODULE EVALDEFS ("BIND"
"FNCTNS"))
(:MODULE STACK "STACK")
; (:MODULE STEPPER "STEP")
(:MODULE EDITOR (;"INFSUP"
"STREAM"
"EMANIP"
"BOXWIN"
"LODISP"
"REDISP"
"DISPLY"
"MOUSE"
"EDITOR"
"REGION"
"COMDEF"))
(:MODULE PARSE1 "PARSE1")
(:MODULE PARSE2 "PARSE2")
(:MODULE KEYDEF ("KEYDEF"))
(:MODULE KEYS ("KEYS1"
"COMS1"))
(:MODULE FILEDEFS ("FILDFS"))
(:MODULE FILESYS ("BXFILE"
"DUMPER"
"LOADER"))
(:MODULE GRAFDEFS ("GRFDFS"
"GROBJS"))
(:MODULE EVALUATOR ("EVAL"
"EVPRIM"))
(:MODULE GRAPHICS ("TURTLE"
"SPRITE"
"GRDATA"))
(:MODULE PBOX "PBOX")
(:MODULE BOXTEX "BOXTEX")
(:MODULE PRIMITIVES ("PRIMS"
"NUMBRS"
"DATA"
"GRPRIM"
"NET"))
(:MODULE REMOTE "HCLOOP")
(:MODULE COMETH "COMETH")
;; The real transformations.
(:COMPILE-LOAD DEFINITIONS)
(:COMPILE-LOAD UTILITIES (:FASLOAD DEFINITIONS)
(:FASLOAD DEFINITIONS))
(:COMPILE-LOAD RELATIONSHIPS (:FASLOAD DEFINITIONS)
(:FASLOAD DEFINITIONS))
(:COMPILE-LOAD EVALDEFS (:FASLOAD DEFINITIONS)
(:FASLOAD DEFINITIONS))
(:COMPILE-LOAD STACK (:FASLOAD EVALDEFS)
(:FASLOAD EVALDEFS))
(:COMPILE-LOAD EDITOR (:FASLOAD EVALDEFS RELATIONSHIPS)
(:FASLOAD EVALDEFS RELATIONSHIPS))
(:COMPILE-LOAD GRAFDEFS (:FASLOAD EDITOR)
(:FASLOAD EDITOR))
(:COMPILE-LOAD EVALUATOR (:FASLOAD DEFINITIONS EDITOR GRAFDEFS EVALDEFS)
(:FASLOAD DEFINITIONS EDITOR GRAFDEFS EVALDEFS))
(:COMPILE-LOAD PARSE1 (:FASLOAD EVALDEFS)
(:FASLOAD EVALDEFS))
(:COMPILE-LOAD PARSE2 (:FASLOAD EVALDEFS PARSE1)
(:FASLOAD EVALDEFS PARSE1))
(:COMPILE-LOAD PBOX (:FASLOAD EDITOR EVALDEFS)
(:FASLOAD EDITOR EVALDEFS))
(:COMPILE-LOAD BOXTEX (:FASLOAD EDITOR EVALDEFS)
(:FASLOAD EDITOR EVALDEFS))
(:COMPILE-LOAD KEYDEF (:FASLOAD EDITOR EVALDEFS)
(:FASLOAD EDITOR EVALDEFS))
(:COMPILE-LOAD KEYS (:FASLOAD EDITOR EVALDEFS KEYDEF STACK)
(:FASLOAD EDITOR EVALDEFS KEYDEF STACK))
(:COMPILE-LOAD FILEDEFS (:FASLOAD EDITOR RELATIONSHIPS)
(:FASLOAD EDITOR RELATIONSHIPS))
(:COMPILE-LOAD FILESYS (:FASLOAD EDITOR FILEDEFS GRAFDEFS)
(:FASLOAD EDITOR FILEDEFS GRAFDEFS))
(:COMPILE-LOAD GRAPHICS (:FASLOAD EDITOR GRAFDEFS PARSE2)
(:FASLOAD EDITOR GRAFDEFS PARSE2))
(:COMPILE-LOAD PRIMITIVES (:FASLOAD DEFINITIONS EVALDEFS EVALUATOR PARSE2 GRAPHICS PBOX)
(:FASLOAD DEFINITIONS EVALDEFS EVALUATOR PARSE2 GRAPHICS PBOX))
(:COMPILE-LOAD REMOTE (:FASLOAD EDITOR)
(:FASLOAD EDITOR))
(:COMPILE-LOAD-INIT COMETH
(DEFINITIONS EDITOR EVALDEFS EVALUATOR PARSE1 PARSE2 KEYS PBOX
BOXTEX GRAPHICS PRIMITIVES)
(:FASLOAD DEFINITIONS EDITOR EVALDEFS EVALUATOR PARSE1 PARSE2 PBOX
BOXTEX KEYS GRAPHICS PRIMITIVES)
(:FASLOAD DEFINITIONS EDITOR EVALDEFS EVALUATOR PARSE1 PARSE2 PBOX
BOXTEX KEYS GRAPHICS PRIMITIVES)))
;;;; System maintenance utilities.
(DEFMACRO WITH-MORE-P-NIL (&BODY BODY)
`(LET ((OLD-MORE-P (FUNCALL TERMINAL-IO ':MORE-P)))
(UNWIND-PROTECT
(PROGN (FORMAT TERMINAL-IO "~&Inhibiting more processing...")
(FUNCALL TERMINAL-IO ':SET-MORE-P NIL)
,@BODY)
(FUNCALL TERMINAL-IO ':SET-MORE-P OLD-MORE-P))))
(DEFMACRO WITH-INHIBIT-FDEFINE-WARNINGS-T (&BODY BODY)
`(LET ((INHIBIT-FDEFINE-WARNINGS T))
(FORMAT TERMINAL-IO "~%Inhibiting fdefine warnings...")
,@BODY))
;; This loads the boxer system based upon the currently loaded system declaration.
(DEFUN LOAD-BOXER ()
(WITH-MORE-P-NIL
(WITH-INHIBIT-FDEFINE-WARNINGS-T
(MAKE-SYSTEM 'BOXER ':NOCONFIRM :nowarn #+SYMBOLICS '(:VERSION :LATEST)))))
;;Once boxer is loaded this makes a new boxer system.
(DEFUN MAKE-BOXER ()
(TV:MAKE-WINDOW 'BOXER-FRAME))
;; This starts the existing boxer system.
(DECLARE (SPECIAL *BOXER-PANE*))
(DEFUN START-BOXER ()
(AND (BOUNDP '*BOXER-PANE*) (NOT (NULL *BOXER-PANE*))
(SEND *BOXER-PANE* ':SELECT)))
;; This is the function most people want to call.
(DEFUN BOXER ()
(LOAD-BOXER)
(MAKE-BOXER)
(START-BOXER))
;;; SHorthand for #+(or MIT LMI TI)
(EVAL-WHEN (EVAL COMPILE LOAD)
#+(or MIT LMI TI)(SSTATUS FEATURE :LMITI)
)